﻿using System;
using System.Data;
using DataAccessDAL;
using HGP_QLKH002.HGP_QLKH002.BUS;
using MySql.Data.MySqlClient;

namespace HGP_QLKH002.HGP_QLKH002.BO
{
    class UsersBL
    {
        // - Public kiểu hướng đối tượng.
        private DataAccessDAL.AcessData ac;
        public UsersBL()
        {
            ac =new AcessData();
        }

        /// <summary> Lấy DS theo tên
        /// Lấy dữ liệu từ hgp_users theo tên
        /// </summary>
        /// <returns>DataTable</returns>
        public DataTable LayDSUsers(UsersBO us)
        {
            string sql = "select * from wp_users where user_login = @name";
            MySqlParameter[] param = new MySqlParameter[1];
            param[0] = new MySqlParameter("@name", MySqlDbType.VarChar);
            param[0].Value = us.UserLogin;

            DataTable dt = ac.GetDataSet(sql, param, false).Tables[0];
            return dt;
        }


        #region Dang nhap
        public int DangNhap(UsersBO us)
        {
            DataTable dt = LayDSUsers(us);

            if (dt.Rows.Count == 0)
                return 0;

            String m_SysPass = dt.Rows[0]["user_pass"].ToString();

            if (m_SysPass != us.UserPass)
                return 1;
            else
            {
                us.UserLogin = dt.Rows[0]["user_login"].ToString();
                us.UserStatus = Convert.ToInt16(dt.Rows[0]["user_status"].ToString());
                us.DisplayName = dt.Rows[0]["display_name"].ToString();
                return 2;
            }
        }
        #endregion

        #region Đổi mật khẩu, thiết lập lại kết nối
        public void ChangePassword(UsersBO us)
        {
            string sql = "Update hgp_users SET user_pass = @pass where user_login = @tendn";
            MySqlParameter[] param = new MySqlParameter[2];
            param[0] = new MySqlParameter("@tendn", MySqlDbType.VarChar);
            param[0].Value = us.UserLogin;

            param[1] = new MySqlParameter("@pass", MySqlDbType.VarChar);
            param[1].Value = us.UserPass;

            ac.ExecuteNoneQuery(sql, param);
        }
        #endregion
    }
}
